All surfaces are expected to be DND surfaces from creation.
gdk_event_init (display);
- _gdk_broadway_display_init_dnd (display);
-
if (display_name == NULL)
display_name = g_getenv ("BROADWAY_DISPLAY");
return new_context;
}
-void
-_gdk_broadway_surface_register_dnd (GdkSurface *surface)
-{
-}
-
-void
-_gdk_broadway_display_init_dnd (GdkDisplay *display)
-{
-}
-
static void
gdk_broadway_drag_class_init (GdkBroadwayDragClass *klass)
{
GArray *nodes,
GPtrArray *node_textures);
-void _gdk_broadway_surface_register_dnd (GdkSurface *surface);
GdkDrag * _gdk_broadway_surface_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
BroadwayInputMsg *message);
void _gdk_broadway_display_init_root_window (GdkDisplay *display);
-void _gdk_broadway_display_init_dnd (GdkDisplay *display);
GdkDisplay * _gdk_broadway_display_open (const gchar *display_name);
void _gdk_broadway_display_queue_events (GdkDisplay *display);
GdkCursor*_gdk_broadway_display_get_cursor_for_name (GdkDisplay *display,
impl_class->begin_move_drag = gdk_broadway_surface_begin_move_drag;
impl_class->set_opacity = gdk_broadway_surface_set_opacity;
impl_class->destroy_notify = gdk_broadway_surface_destroy_notify;
- impl_class->register_dnd = _gdk_broadway_surface_register_dnd;
impl_class->drag_begin = _gdk_broadway_surface_drag_begin;
}
GDK_SURFACE_GET_CLASS (surface)->destroy_notify (surface);
}
-/**
- * gdk_surface_register_dnd:
- * @surface: a #GdkSurface.
- *
- * Registers a surface as a potential drop destination.
- */
-void
-gdk_surface_register_dnd (GdkSurface *surface)
-{
- GDK_SURFACE_GET_CLASS (surface)->register_dnd (surface);
-}
-
/**
* gdk_drag_begin:
* @surface: the source surface for this drag
GDK_AVAILABLE_IN_ALL
void gdk_surface_set_opacity (GdkSurface *surface,
gdouble opacity);
-GDK_AVAILABLE_IN_ALL
-void gdk_surface_register_dnd (GdkSurface *surface);
GDK_AVAILABLE_IN_ALL
void gdk_surface_begin_resize_drag (GdkSurface *surface,
void (* set_opacity) (GdkSurface *surface,
gdouble opacity);
void (* destroy_notify) (GdkSurface *surface);
- void (* register_dnd) (GdkSurface *surface);
GdkDrag * (*drag_begin) (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider*content,
/* FIXME: Implement */
}
-void
-_gdk_quartz_surface_register_dnd (GdkSurface *window)
-{
- /* FIXME: Implement */
-}
-
id
gdk_quartz_drag_context_get_dragging_info_libgtk_only (GdkDragContext *context)
{
void _gdk_quartz_synthesize_null_key_event (GdkSurface *window);
/* Drag and Drop */
-void _gdk_quartz_surface_register_dnd (GdkSurface *window);
GdkDragContext * _gdk_quartz_surface_drag_begin (GdkSurface *window,
GdkDevice *device,
GList *targets,
impl_class->set_opacity = gdk_quartz_surface_set_opacity;
impl_class->set_shadow_width = gdk_quartz_surface_set_shadow_width;
impl_class->destroy_notify = gdk_quartz_surface_destroy_notify;
- impl_class->register_dnd = _gdk_quartz_surface_register_dnd;
impl_class->drag_begin = _gdk_quartz_surface_drag_begin;
impl_class->process_updates_recurse = _gdk_quartz_surface_process_updates_recurse;
drag_class->cancel = gdk_wayland_drag_cancel;
}
-void
-_gdk_wayland_surface_register_dnd (GdkSurface *surface)
-{
-}
-
static GdkSurface *
create_dnd_surface (GdkDisplay *display)
{
cairo_surface_t *cairo_surface,
const cairo_region_t *damage);
-void _gdk_wayland_surface_register_dnd (GdkSurface *surface);
GdkDrag *_gdk_wayland_surface_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
impl_class->begin_move_drag = gdk_wayland_surface_begin_move_drag;
impl_class->set_opacity = gdk_wayland_surface_set_opacity;
impl_class->destroy_notify = gdk_wayland_surface_destroy_notify;
- impl_class->register_dnd = _gdk_wayland_surface_register_dnd;
impl_class->drag_begin = _gdk_wayland_surface_drag_begin;
impl_class->get_scale_factor = gdk_wayland_surface_get_scale_factor;
impl_class->set_opaque_region = gdk_wayland_surface_set_opaque_region;
}
_gdk_win32_surface_enable_transparency (surface);
+ _gdk_win32_surface_register_dnd (surface);
g_signal_connect (frame_clock,
"after-paint",
impl_class->begin_move_drag = gdk_win32_surface_begin_move_drag;
impl_class->set_opacity = gdk_win32_surface_set_opacity;
impl_class->destroy_notify = gdk_win32_surface_destroy_notify;
- impl_class->register_dnd = _gdk_win32_surface_register_dnd;
impl_class->drag_begin = _gdk_win32_surface_drag_begin;
impl_class->create_gl_context = _gdk_win32_surface_create_gl_context;
impl_class->get_scale_factor = _gdk_win32_surface_get_scale_factor;
GDK_SURFACE_XID (surface), GDK_ALL_EVENTS_MASK,
StructureNotifyMask | PropertyChangeMask);
+ _gdk_x11_surface_register_dnd (surface);
+
connect_frame_clock (surface);
gdk_surface_freeze_updates (surface);
impl_class->begin_move_drag = gdk_x11_surface_begin_move_drag;
impl_class->set_opacity = gdk_x11_surface_set_opacity;
impl_class->destroy_notify = gdk_x11_surface_destroy_notify;
- impl_class->register_dnd = _gdk_x11_surface_register_dnd;
impl_class->drag_begin = _gdk_x11_surface_drag_begin;
impl_class->get_scale_factor = gdk_x11_surface_get_scale_factor;
impl_class->set_opaque_region = gdk_x11_surface_set_opaque_region;
double y);
static gboolean gtk_drop_target_filter_event (GtkEventController *controller,
GdkEvent *event);
-static void gtk_drop_target_set_widget (GtkEventController *controller,
- GtkWidget *widget);
-static void gtk_drop_target_unset_widget (GtkEventController *controller);
static gboolean gtk_drop_target_get_contains (GtkDropTarget *dest);
static void gtk_drop_target_set_contains (GtkDropTarget *dest,
controller_class->handle_event = gtk_drop_target_handle_event;
controller_class->filter_event = gtk_drop_target_filter_event;
- controller_class->set_widget = gtk_drop_target_set_widget;
- controller_class->unset_widget = gtk_drop_target_unset_widget;
class->accept = gtk_drop_target_accept;
return dest->actions;
}
-static void
-gtk_drag_dest_realized (GtkWidget *widget)
-{
- GtkNative *native = gtk_widget_get_native (widget);
-
- gdk_surface_register_dnd (gtk_native_get_surface (native));
-}
-
-static void
-gtk_drag_dest_hierarchy_changed (GtkWidget *widget,
- GParamSpec *pspec,
- gpointer data)
-{
- GtkNative *native = gtk_widget_get_native (widget);
-
- if (native && gtk_widget_get_realized (GTK_WIDGET (native)))
- gdk_surface_register_dnd (gtk_native_get_surface (native));
-}
-
/**
* gtk_drop_target_get_drop:
* @dest: a #GtkDropTarget
}
}
-static void
-gtk_drop_target_set_widget (GtkEventController *controller,
- GtkWidget *widget)
-{
- GtkDropTarget *dest = GTK_DROP_TARGET (controller);
-
- GTK_EVENT_CONTROLLER_CLASS (gtk_drop_target_parent_class)->set_widget (controller, widget);
-
- if (gtk_widget_get_realized (widget))
- gtk_drag_dest_realized (widget);
-
- g_signal_connect (widget, "realize", G_CALLBACK (gtk_drag_dest_realized), dest);
- g_signal_connect (widget, "notify::root", G_CALLBACK (gtk_drag_dest_hierarchy_changed), dest);
-}
-
-static void
-gtk_drop_target_unset_widget (GtkEventController *controller)
-{
- GtkWidget *widget;
-
- widget = gtk_event_controller_get_widget (controller);
-
- g_signal_handlers_disconnect_by_func (widget, gtk_drag_dest_realized, controller);
- g_signal_handlers_disconnect_by_func (widget, gtk_drag_dest_hierarchy_changed, controller);
-
- GTK_EVENT_CONTROLLER_CLASS (gtk_drop_target_parent_class)->unset_widget (controller);
-}
-
static void
gtk_drag_get_data_got_data (GObject *source,
GAsyncResult *result,